package com.jiayuge.poiStudy.service;

import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.data.*;
//import com.deepoove.poi.data.MiniTableRenderData;


import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class GenerateTableFile {
    public static void main(String[] args) throws IOException {
        //生成数据模板
        XWPFTemplate template = XWPFTemplate.compile("./src/main/java/com/jiayuge/poiStudy/files/wordTemplate.docx");

        //导出路径
        FileOutputStream outputStream = new FileOutputStream("./src/main/java/com/jiayuge/poiStudy/files/table.docx");
        HashMap<String, Object> data = new HashMap<>();

        /* 测试表格插入---------------------------------------*/
        /* RowRenderData: 渲染表格 --------------------------*/
        /* TextRenderData: 渲染文本 -------------------------*/
        /* TableStyle: 表格样式设置 --------------------------*/
        /* Style: 文本样式设置 -------------------------------*/
        /* CellRenderData: 单元个数据渲染 --------------------*/

        /**
         * 方法一:整体设置布局 只能简单设置整体背景颜色和剧中方式 -- 关注整体布局
         */
        data = GeneralTableOne();


        template.render(data);
        template.write(outputStream);

        outputStream.flush();
        outputStream.close();
        template.close();
    }
    /**
     * 方法一:整体设置布局 只能简单设置整体背景颜色和剧中方式
     *
     * @return
     */
    private static HashMap<String, Object> GeneralTableOne() {


        RowRenderData header = RowRenderData.build(new TextRenderData("111111", "姓名"), new TextRenderData("222222", "学历"));

        List<RowRenderData> datas  = new ArrayList<>();

        RowRenderData row0 = RowRenderData.build("张三", "研究生");
        RowRenderData row1 = RowRenderData.build("李四");


        datas.add(row0);
        datas.add(row1);



        HashMap<String, Object> data = new HashMap<>();
        //table 字段是word文档中需要替换的位置标识
        data.put("table", new MiniTableRenderData(header, datas));
        return data;
    }
}

